﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace DiveManager
{
    public partial class Rental_NewArtikelcs : Form
    {
        protected DiveDatabaseEntities diveDatabase;
        protected BindingSource bindingSource;
        
        public string gruppenstring;
        public int gruppe=0;
        
        public Rental_NewArtikelcs()
        {
            InitializeComponent();

            // Init Database
            diveDatabase = new DiveDatabaseEntities();
            bindingSource = new BindingSource();
        }

        protected void LoadData()
        {

            IQueryable<Rental_Artikel_Main> dataQuery = (from ram in diveDatabase.Rental_Artikel_Main
                                                        where ram.Artikelgroup == gruppe
                                                        select ram);

            // Bind Data to BindingSource
            bindingSource.DataSource = dataQuery;

            // Bind BindingSource to List
            ArtikelList.DataSource = bindingSource;


            // Hide ID-Columns
            ArtikelList.Columns["ID"].Visible = false;
            ArtikelList.Columns["Artikelgroup"].Visible = false;
            ArtikelList.Columns["Name"].Visible = true;


            // Set Column Headers
            ArtikelList.Columns["Name"].HeaderText = "Artikel";

        }

        private void label4_Click(object sender, EventArgs e)
        {

        }

        private void btShow_Click(object sender, EventArgs e)
        {
            //Anlegen und löschen Buttons nutzbar machen
            btAdd.Enabled = true;
            btDelete.Enabled = true;
            
            //Anzeigen aller Artikel aus der ausgewählten Artikelgruppe im 
            //Auslesen der eingestellten Artikelgruppe
            gruppenstring = txRentalGroup.Text;
            //umwandeln des Strings in die entsprechende Gruppennummer
            if (gruppenstring.Equals("7mm Anzüge"))
            {
                gruppe = 1;
            }

            if (gruppenstring.Equals("5mm Anzüge"))
            {
                gruppe = 2;
            }

            if (gruppenstring.Equals("Trockentauchanzüge"))
            {
                gruppe = 3;
            }

            if (gruppenstring.Equals("Jackets"))
            {
                gruppe = 4;
            }

            if (gruppenstring.Equals("Atemregler"))
            {
                gruppe = 5;
            }

            if (gruppenstring.Equals("Computer"))
            {
                gruppe = 6;
            }

            if (gruppenstring.Equals("Lampen"))
            {
                gruppe = 7;
            }

            if (gruppenstring.Equals("Kopfhauben"))
            {
                gruppe = 8;
            }

            if (gruppenstring.Equals("Handschuhe"))
            {
                gruppe = 9;
            }

            if (gruppenstring.Equals("Füßlinge"))
            {
                gruppe = 10;
            }

            if (gruppenstring.Equals("Eiswesten"))
            {
                gruppe = 11;
            }

            if (gruppenstring.Equals("Flossen"))
            {
                gruppe = 12;
            }

            if (gruppenstring.Equals("Masken"))
            {
                gruppe = 13;
            }

            if (gruppenstring.Equals("Schnorchel"))
            {
                gruppe = 14;
            }

            if (gruppenstring.Equals("Flaschen"))
            {
                gruppe = 15;
            }

            if (gruppenstring.Equals("Blei"))
            {
                gruppe = 16;
            }

            if (gruppenstring.Equals("Bleigurte"))
            {
                gruppe = 17;
            }

            if (gruppenstring.Equals("Kisten"))
            {
                gruppe = 18;
            }
            

            //ArtikelList aktualisieren
            LoadData();
            
        }

        private void btAdd_Click(object sender, EventArgs e)
        {
            //Artikel wird der Artikelgruppe hinzugefügt
            // Generate new Object for DB
            Rental_Artikel_Main newrentalartikel = new Rental_Artikel_Main();
            newrentalartikel.ID = Guid.NewGuid();
            newrentalartikel.Artikelgroup = gruppe;
            newrentalartikel.Name = txName.Text;

            // Add to DB
            diveDatabase.AddToRental_Artikel_Main(newrentalartikel);
            diveDatabase.SaveChanges();

            // Reload List
            LoadData();

            txName.Clear();
           
        }

        private void btDelete_Click(object sender, EventArgs e)
        {
            //Löschen des in der Liste ausgewählten Artikels
        }

        private void Rental_NewArtikelcs_Load(object sender, EventArgs e)
        {
            // Add Bindings
            label3.DataBindings.Add(new Binding("Text", bindingSource, "ID"));
        }
    }
}
